The data flow diagram began being widely used as a primary tool for structured data analysis in the 1970's. Data flow diagrams, also known as data flow graphs, are a common way to represent data integration processes. In other words, these diagrams can be employed to document the logical flow of data through a set of computer-implemented processes or procedures. As such, the diagram can include external sources and destinations of the data, activities that transform the data and stores or collections where the data is held. Although primarily used by developers, data flow diagrams are very easy to understand by even non-technical users.
In accordance therewith, the nodes in the graph represent the sources, transformations and destinations of data. As well, the movement, or flow, of data units between the nodes is illustrated by connecting appropriate nodes on the diagram. The data flow diagram is oftentimes used as a communication tool for analysts to model processes and functional requirements.
Today, the diagrams are still considered one of the best modeling techniques for representing the processing requirements of a computer-implemented system. To this end, data flow diagrams have broad application and usability across most software development projects. Moreover, the data flow diagram can be integrated with workflow modeling tools, data modeling, and textual specifications. However, this is often expensive and inconvenient to the actual data flow process.
In accordance with modeling systems today, a user graphically builds a data flow diagram by employing a graphical editor. As such, shapes would be chosen, graphically drawn and connected as desired in order to represent a desired data flow. Under the covers, there can be an object model, which is a set of programmability interfaces, by which it can be possible to programmatically represent the graph. In other words, once a user creates a data flow diagram, conventional systems can employ an object model to generate a declarative representation of the graphical representation. However, these conventional systems are expensive and inconvenient in that they require both the graphical editor as well as a modeling application in order for a user to effectively represent a desired data flow.